/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 */
package com.icinfo.cloud.provider.punish.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.icinfo.framework.mybatis.mapper.annotation.Before;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 描述: app端文书内容宽表 app_document_info_detail 对应的实体类.<br>
 * WARNING：不是表中字段的属性必须加@Transient注解
 * @author framework generator
 * @date 2022年04月24日
 */
@Table(name = "upcase.app_document_info_detail")
@Data
public class AppDocumentInfoDetail implements Serializable {
    /**
     * 主键（文书唯一编码）
     */
    @Id
    @Column(name = "id")
    @Before
    private String id;

    /**
     * app 无值 后续可能使用
     */
    @Column(name = "case_id")
    private String caseId;

    /**
     * 文书目录编码
     */
    @Column(name = "document_catalog_code")
    private String documentCatalogCode;

    /**
     * 文书名
     */
    @Column(name = "document_catalog_name")
    private String documentCatalogName;

    /**
     * 当事人类型 1.个人  ,2.企业
     */
    @Column(name = "party_type")
    private String partyType;

    /**
     * 当事人企业统一社会信用代码
     */
    @Column(name = "unicode")
    private String unicode;

    /**
     * 当事人企业企业公司名
     */
    @Column(name = "ent_name")
    private String entName;

    /**
     * 当事人企业法人姓名
     */
    @Column(name = "legal_name")
    private String legalName;

    /**
     * 当事人企业法人证件号码
     */
    @Column(name = "legal_cert_no")
    private String legalCertNo;

    /**
     * 当事人企业企业注册地址
     */
    @Column(name = "ent_address")
    private String entAddress;

    /**
     * 当事人企业企业联系电话
     */
    @Column(name = "ent_phone")
    private String entPhone;

    /**
     * 当事人企业法人职务
     */
    @Column(name = "job")
    private String job;

    /**
     * 当事人个人姓名
     */
    @Column(name = "person_name")
    private String personName;

    /**
     * 当事人个人手机号
     */
    @Column(name = "person_mobile")
    private String personMobile;

    /**
     * 当事人个人证件号码
     */
    @Column(name = "person_cert_no")
    private String personCertNo;

    /**
     * 当事人个人证件类型
     */
    @Column(name = "person_cert_type")
    private String personCertType;

    /**
     * 案由编码
     */
    @Column(name = "case_reason_code")
    private String caseReasonCode;

    /**
     * 案由名称
     */
    @Column(name = "case_reason_name")
    private String caseReasonName;

    /**
     * 领域编码
     */
    @Column(name = "territory_code")
    private String territoryCode;

    /**
     * 违则
     */
    @Column(name = "illegal_basis")
    private String illegalBasis;

    /**
     * 违则详情
     */
    @Column(name = "illegal_detail")
    private String illegalDetail;

    /**
     * 罚则
     */
    @Column(name = "punish_basis")
    private String punishBasis;

    /**
     * 罚则详情
     */
    @Column(name = "punish_detail")
    private String punishDetail;

    /**
     * 处理结果：抽样取证物品结果通知书
     */
    @Column(name = "handle_result")
    private String handleResult;

    /**
     * 关联鉴定报告文书ID: 鉴定意见告知书
     */
    @Column(name = "link_identify_id")
    private String linkIdentifyId;

    /**
     * 关联鉴定报告名：鉴定意见告知书
     */
    @Column(name = "link_identify_name")
    private String linkIdentifyName;

    /**
     * 关联鉴定报告文号：鉴定意见告知书
     */
    @Column(name = "link_identify_document_num")
    private String linkIdentifyDocumentNum;

    /**
     * 关联鉴定报告文意见：鉴定意见告知书
     */
    @Column(name = "link_identify_opinion")
    private String linkIdentifyOpinion;

    /**
     * 抽样取证地址：抽样取证物品结果通知书
     */
    @Column(name = "sample_evidence_address")
    private String sampleEvidenceAddress;

    /**
     * 抽样取证地址经纬度：抽样取证物品结果通知书
     */
    @Column(name = "sample_evidence_address_latitude_and_longitude")
    private String sampleEvidenceAddressLatitudeAndLongitude;

    /**
     * 主办人，或者鉴定意见告知书的联系人
     */
    @Column(name = "main_handle_person")
    private String mainHandlePerson;

    /**
     * 鉴定意见告知书的机构联系电话
     */
    @Column(name = "main_handle_org_phone")
    private String mainHandleOrgPhone;

    /**
     * 主办人用户id
     */
    @Column(name = "main_handle_user_id")
    private String mainHandleUserId;

    /**
     * 协办人，多个逗号分割
     */
    @Column(name = "assist_handle_person")
    private String assistHandlePerson;

    /**
     * 协办人id，多个逗号分割
     */
    @Column(name = "assist_handle_user_id")
    private String assistHandleUserId;

    /**
     * 保存开始日期：先行登记保存通知书 专用
     */
    @Column(name = "sava_start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime savaStartTime;

    /**
     * 保存结束日期：先行登记保存通知书 专用
     */
    @Column(name = "save_end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime saveEndTime;

    /**
     * 保存方式： 先行登记保存通知书 专用
     */
    @Column(name = "save_type")
    private String saveType;

    /**
     * 保存第地址：先行登记保存通知书 专用 支持编辑（默认办案机构地址）
     */
    @Column(name = "save_address")
    private String saveAddress;

    /**
     * 解除日期：解除先行登记保存通知书   专用
     */
    @Column(name = "cancle_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime cancleTime;

    /**
     * 解除原因：解除先行登记保存通知书   专用
     */
    @Column(name = "cancle_reason")
    private String cancleReason;

    /**
     * 处理说明：解除先行登记保存通知书   专用
     */
    @Column(name = "cancle_explain")
    private String cancleExplain;

    /**
     * 关联先行登记保存通知书id :解除先行登记保存通知书 专用
     */
    @Column(name = "link_cancle_document_id")
    private String linkCancleDocumentId;

    /**
     * 关联先行登记保存通知书名称 :解除先行登记保存通知书 专用
     */
    @Column(name = "link_cancle_document_name")
    private String linkCancleDocumentName;

    /**
     * 关联先行登记保存通知书文号 :解除先行登记保存通知书 专用
     */
    @Column(name = "link_cancle_document_num")
    private String linkCancleDocumentNum;

    /**
     * 案发时间：询问通知书
     */
    @Column(name = "case_happen_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime caseHappenTime;

    /**
     * 案发地址：经纬度：询问通知书
     */
    @Column(name = "case_happen_address_latitude_and_longitude")
    private String caseHappenAddressLatitudeAndLongitude;

    /**
     * 案发详细地址：询问通知书
     */
    @Column(name = "case_happen_address_detail")
    private String caseHappenAddressDetail;

    /**
     * 询问日期：询问通知书
     */
    @Column(name = "accept_inquire_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime acceptInquireTime;

    /**
     * 询问地址：询问通知书 默认加载机构地址
     */
    @Column(name = "accept_inquire_address")
    private String acceptInquireAddress;

    /**
     * 携带资料：询问通知书
     */
    @Column(name = "accept_inquire_carry_material")
    private String acceptInquireCarryMaterial;

    /**
     * 责令明细：责令改正通知书专用
     */
    @Column(name = "charge_detail")
    private String chargeDetail;

    /**
     * 创建人
     */
    @Column(name = "creator")
    private String creator;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    @Column(name = "updator")
    private String updator;

    /**
     * 更新时间
     */
    @Column(name = "update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 移动文书签字的文件base64文件
     */
    @Column(name = "sign_file")
    private String signFile;

    /**
     * 移动文书的捺印指纹文件base64文件
     */
    @Column(name = "finger_print")
    private String fingerPrint;

    /**
     * 当事人，个人取姓名，企业取名称
     */
    @Column(name = "party_name")
    private String partyName;


    /**
     * 关联抽样取证通知书：抽样取证结果通知书
     */
    @Column(name = "link_simple_evidence_doc")
    private String linkSimpleEvidenceDoc;

    /**
     * 办案条线编码
     */
    @Column(name = "line_code")
    private String lineCode;

    /**
     * 办案条线名称
     */
    @Column(name = "line_name")
    private String lineName;

    /**
     * 办案条线类别编码
     */
    @Column(name = "line_type_code")
    private String lineTypeCode;

    /**
     * 关联信息集合（案件/案源/检查），array数组json
     */
    @Column(name = "associated_info")
    private String associatedInfo;

    /**
     * 性别 男 女
     */
    @Column(name = "sex")
    private String sex;

    /**
     * 年龄
     */
    @Column(name = "age")
    private String age;

    /**
     * 个人工作单位
     */
    @Column(name = "person_work_unit")
    private String personWorkUnit;

    private static final long serialVersionUID = 1L;

}